#include "LinkTemplate.h"
#include "TextBlock.h"

LinkTemplate::LinkTemplate() : iPosition(0)
{

}

LinkTemplate::~LinkTemplate()
{
	iItems.ResetAndDestroy();
	iItems.Close();
}

TBool LinkTemplate::HasNext()
	{
	if(iPosition == iItems.Count())
		return EFalse;
	else
		return ETrue;
	}

IItem* LinkTemplate::GetNext()
	{
	IItem* item =  iItems[iPosition];
	iPosition++;
	
	return item;
	}

void LinkTemplate::ResetIterator()
	{
	iPosition = 0;
	}

void LinkTemplate::PushL(IItem* aItem)
	{
	iItems.AppendL(aItem);
	}

IItem* LinkTemplate::GetHead()
	{
	if(GetCount() > 0)
		return iItems[0];
	else 
		return NULL;
	}

IItem* LinkTemplate::GetRear()
	{
	if(GetCount() > 0)
		return iItems[GetCount()-1];
	else 
		return NULL;
	}
TInt LinkTemplate::GetCount()
	{
	return iItems.Count();
	}
